1329B - Dreamoon Likes Sequences - CodeForces Solution


bitmasks combinatorics math *1700

Please click on ads to support us..

C++ Code:

#include <iostream>

using namespace std;
typedef long long ll;

int main() {
	int T;
	cin >> T;
	while (T--) {
		ll d, m;
		cin >> d >> m;
		ll ans = 1;
		for (int i = 0; i < 32; i++) {
			if (d < (1 << i)) break;
			ans = (ans * (min(d, (1LL << (i + 1)) - 1) - (1LL << i) + 2)) % m;
		}
		ans = (ans - 1 + m) % m;
		cout << ans << endl;
	}
}


Comments

Submit
0 Comments
More Questions

1225C - p-binary
1525D - Armchairs
1257A - Two Rival Students
1415A - Prison Break
1271A - Suits
259B - Little Elephant and Magic Square
1389A - LCM Problem
778A - String Game
1382A - Common Subsequence
1512D - Corrupted Array
667B - Coat of Anticubism
284B - Cows and Poker Game
1666D - Deletive Editing
1433D - Districts Connection
2B - The least round way
1324A - Yet Another Tetris Problem
246B - Increase and Decrease
22E - Scheme
1566A - Median Maximization
1278A - Shuffle Hashing
1666F - Fancy Stack
1354A - Alarm Clock
1543B - Customising the Track
1337A - Ichihime and Triangle
1366A - Shovels and Swords
919A - Supermarket
630C - Lucky Numbers
1208B - Uniqueness
1384A - Common Prefixes
371A - K-Periodic Array